package com.xiaoq.shop.repository;

import com.xiaoq.shop.entity.SKUEntity;
import com.xiaoq.shop.entity.SPUEntity;
import com.xiaoq.shop.entity.SPUReviewEntity;

import java.util.List;


public interface ISPURepository {

    /**
     * 添加评论到spu
     * @param shopId （店或景区ID）
     * @param spuCode （spuCode码）
     * @param spuReviewEntity 评论
     * @return
     */
    boolean addReview2Spu(String shopId, String spuCode, SPUReviewEntity spuReviewEntity);

    /**
     * 保存 spuEntity
     * @param spuEntity
     * @return
     */
    boolean save(SPUEntity spuEntity);

    /**
     *  根据skuEntity中的某些条件查询SPUEntity
     * @param skuEntity
     * @return
     */
    SPUEntity getSPUEntityByCommon(SKUEntity skuEntity);

    /**
     *  根据id 更新spuEntity
     * @param spuEntity
     * @return
     */
    boolean updateById(SPUEntity spuEntity);

    /**
     *  根据shopId 和 spuCode 删除 SPU
     * @param shopId
     * @param spuCode
     * @return
     */
    boolean deleteByShopIdAndSpuCode(String shopId, String spuCode);

    /**
     * 根据分类编码和店ID获取SPU
     * @param shopId 店ID
     * @param catalogCode 分类编码
     * @return
     */
    List<SPUEntity> getSPUByShopIdAndCatalogCode(String shopId, String catalogCode);

    /**
     * 根据shopId 和 spucode 删除 spu
     * @param shopId 店ID
     * @param spuCodeList spucode List
     * @return
     */
    boolean deleteByShopIdAndSpucodeList(String shopId, List<String> spuCodeList);

}
